In H.264, which is an international video coding standard, intra-frame predictive coding has been performed in order to improve a compression rate in coding using a correlation of pixels between blocks (see Non-Patent Document 1). This intra-frame prediction is performed in units of blocks in which some pixels are collected, and three types of block sizes of 4×4, 8×8, and 16×16 are available to a luminance signal. In addition, selection from a plurality of prediction modes is possible for each block size.
This H.264 uses a method based on extrapolative prediction at the time of intra-frame prediction, but there is a problem in that the prediction efficiency is low. In order to solve this problem, suppression of block distortion using a deblocking filter for an entire frame is performed and thus the computational complexity is increased.
In addition, technology described in Non-Patent Document 2 is known as a technique of improving the coding efficiency in intra-frame prediction. This technology is a technique in the intra-frame prediction which searches encoded areas for a block having a small error and performs encoding using the prediction error therefor with respect to an encoding target bock.
FIG. 19 is a flowchart illustrating an example of an intra-frame predictive encoding process in accordance with the conventional art. In the intra-frame predictive encoding of Non-Patent Document 2, first, an encoding target picture is divided into N blocks 1 to N having the same size (step S801). Next, intra-frame predictive encoding is performed on the first block 1 (step S802). Subsequently, in encoding of blocks 2 and subsequent blocks, inter-frame predictive encoding is performed using a block having a small prediction error in encoded areas as a reference picture and information on a motion vector to the reference picture and a prediction error are encoded (step S803). The process of step S803 is iterated up to the final block N.
The technology proposed in Non-Patent Document 2 is a technique of improving the coding efficiency, and a quantization error also tends to be reduced because it is possible to suppress the occurrence of a prediction error in an area in which the same pattern is iterated. Thus, it is considered possible to reduce the processing complexity of the deblocking filter.
However, while the method described above may be effective on a picture in which the same pattern is iterated, it is not effective on a picture in which substantially the same pattern does not appear; in this case, neither a prediction error nor a quantization error may be considered to be significantly reduced. In this case, because it is also impossible to reduce the processing complexity of the deblocking filter, it is not considered to be effective in reducing the decoding computational complexity. Furthermore, because it is necessary to transmit offset vector information representing the relative position of a reference block for each block to a decoding end, there is a problem in that a calculation required to decode reference block information also occurs in the decoding end and thus the computational complexity is still large.
In order to solve the problem in the technology of Non-Patent Document 2, in Non-Patent Document 3, the present inventors et al. have proposed technology which reduces the encoding computational complexity and the decoding computational complexity while suppressing the degradation in the coding efficiency.
FIG. 20 is a diagram describing the technology proposed in Non-Patent Document 3. In this proposed technology, in intra-frame encoding of an original picture PIC1, the original picture PIC 1 is separated into four divided pictures PIC 10 to PIC 13 having strong correlations between pixels at the same position. It is to be noted that squares to which numeric values of 0, 1, 2, and 3 are attached in the drawing represent pixels. That is, the divided pictures PIC 10 to PIC 13 are set by dividing the original picture PIC 1 of an input encoding target into blocks each having 2×2 pixels and collecting pixels at the same relative position within each block. Intra-frame encoding is performed on one divided picture PIC 10 thereamong, and predictive encoding is performed by generating a reference picture from an encoded picture in accordance with a separation method for each of the remaining three divided pictures PIC11, PIC12, and PIC13.
Although a strong deblocking filter is applied to the first divided picture PIC10 on which the intra-frame encoding is performed, the strength of the deblocking filter is decreased by employing inter-frame encoding having high prediction efficiency for the second to fourth divided pictures PIC11, PIC12, and PIC13. Thus, it is possible to reduce the computational complexity in a deblocking process as a whole and reduce the decoding computational complexity while maintaining the coding efficiency.
A processing procedure of the present technique is as follows.    (1) The original picture PIC1 is divided into the four divided pictures PIC 10 to PIC 13 as illustrated in FIG. 20.    (2) The first divided picture PIC 10 is encoded by intra-frame encoding.    (3) A picture is generated by shifting an encoded picture of the divided picture PIC 10 to the right by a half pixel using a half-pixel filter.    (4) Inter-frame encoding is performed on the second divided picture PIC 11 by determining the picture generated in (3) as a reference picture and setting a motion vector to 0.    (5) A picture is generated by shifting the encoded picture of the divided picture PIC10 down by a half-pixel using the half-pixel filter.    (6) Inter-frame encoding is performed on the third divided picture PIC 12 by determining the picture generated in (5) as a reference picture and setting a motion vector to 0.    (7) A picture is generated by shifting an encoded picture of the divided picture PIC 12 to the right by a half-pixel using the half-pixel filter.    (8) Inter-frame encoding is performed on the fourth divided picture PIC 13 by determining the picture generated in (7) as a reference picture and setting a motion vector to 0.
This example describes a case in which encoding is performed by dividing the input original picture PIC 1 of the encoding target into the blocks each having 2×2 pixels, collecting the pixels at the same relative position within each block, and setting the four divided pictures PIC 10 to PIC13. However, to further generalize, the divided pictures may be set by dividing the original picture into blocks each having n×m pixels and rearranging a plurality of pixel groups (here referred to as sub-blocks) at the same relative position in each block. A sub-block has n1×m1 pixels (where 1≦n1<n and 1≦m1<m).
In the conventional technique, encoding is performed as follows. First, one or more pixels (sub-blocks) are extracted from an input picture at equal intervals, a plurality of divided pictures are generated by collecting these sub-blocks, and intra divided-picture encoding in which at least one divided picture is encoded using only the divided picture is performed. In encoding of the other divided pictures, inter divided-picture predictive encoding is performed using an encoded divided picture. That is, in accordance with the relative positional relationship between a pixel included in an encoding target divided picture and a pixel included in an encoded divided picture based on a reference picture using the encoded divided picture as the reference picture, a predicted picture is generated by, for example, applying, to the reference picture, a filter as used when an interpolation picture of decimal pixel accuracy is generated and an error signal between the predicted picture and the encoding target divided picture is encoded.
FIG. 21 is a flowchart of a process of a conventional technique.
First, in step S900, divided pictures P0 to PN are generated by dividing a picture into blocks of the same size. Next, in step S901, intra divided-picture encoding is performed on some divided pictures P0 to PM (where 0≦M<N) among the generated divided pictures P0 to PN. Subsequently, in step S902, inter divided-picture encoding is performed on divided pictures P(M+1) to PN using an encoded block as a reference picture.